Query optimization is important in relational database systems that deal with complex queries against large volumes of data. Unlike earlier navigational databases, a query on a relational database specifies what data is to be retrieved from the database but not how to retrieve it. Optimizing a query against a relational database is not as important in transaction-oriented databases where only a few rows are accessed either because the query is well specified by virtue of the application or because the query causes the data to be accessed using a highly selective index. In decision support and data mining applications, where the space of possible solutions is large and the penalty for selecting a bad query is high, optimizing a query to reduce overall resource utilization can provide orders of magnitude of overall performance improvement.
When a database system using a version of database management software is often subject to one or more particular SQL queries, an upgrade of the database management software can have substantial impact on the performance of those SQL queries. When one or more of the SQL queries is negatively impacted by the software upgrade, i.e., the estimated cost of system resources for executing the query rises, the value of the database system to the company using it can be reduced until a the problem can be identified and a fix implemented.